﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Zcu.PanelComposer.Interfaces;

namespace Zcu.PanelComposer.ViewModels.Events
{
    /// <summary>
    /// Trida, ktera reprezentuje objekt udalosti navigace po aplikaci.
    /// </summary>
    public class NavigateEvent
    {
        #region Properties

        /// <summary>
        /// Zdrojova stranka.
        /// </summary>
        public PageNames SourcePage { private set; get; }

        /// <summary>
        /// Cilova stranka.
        /// </summary>
        public PageNames PageName { private set; get; }

        /// <summary>
        /// Objekt, predani pri presmerovani.
        /// </summary>
        public object Context { private set; get; }

        #endregion // Properties

        #region Constructor

        /// <summary>
        /// Konstruktor naplnujici udalost daty.
        /// </summary>
        /// <param name="sourcePage">zdrojova stranka</param>
        /// <param name="pageName">cilova stranka</param>
        /// <param name="context">predavany objekt</param>
        public NavigateEvent(PageNames sourcePage, PageNames pageName, object context = null)
        {
            PageName = pageName;
            SourcePage = sourcePage;
            Context = context;
        }

        #endregion // Constructor
    }
}
